package com.probox.common.entity.service.platfom;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.common.entity.domain.platfom.PlatformMessageTemplate;

/**
 * 消息模板Service接口
 *
 * @author usoft
 * @date 2021-07-21
 */
public interface IPlatformMessageTemplateService extends IService<PlatformMessageTemplate> {


    /**
     * 查询消息模板
     *
     * @param templateUid 消息模板ID
     * @return 消息模板
     */
    public PlatformMessageTemplate selectPlatformMessageTemplateById(Long templateUid);


    /**
     * 查询消息模板列表
     *
     * @param platformMessageTemplate 消息模板
     * @return 消息模板集合
     */
    public List<PlatformMessageTemplate> queryList(PlatformMessageTemplate platformMessageTemplate);


    /**
     * 新增消息模板
     *
     * @param platformMessageTemplate 消息模板
     * @return 结果
     */
    public boolean insertPlatformMessageTemplate(PlatformMessageTemplate platformMessageTemplate);

    /**
     * 修改消息模板
     *
     * @param platformMessageTemplate 消息模板
     * @return 结果
     */
    public boolean updatePlatformMessageTemplate(PlatformMessageTemplate platformMessageTemplate);

    /**
     * 批量删除消息模板
     *
     * @param templateUids 需要删除的消息模板ID
     * @return 结果
     */
    public boolean deletePlatformMessageTemplateByIds(Long[] templateUids);


    /**
     * 获取消息模板的模板id集合
     *
     * @return
     */
    public List<String> getMessageIdList(String type);

    /**
     * 发送推送模板
     * @param type
     * @param openId
     * @param para
     * @param map
     */
    public String sendMessage(String type,String openId,String para, Map<String,String> map);

    public String noticeCS(Long subscribeId,String subscribeDate,String item,Long custId,String custName,String csOpenId,String csName,String csStore);

    public String noticePublicCS(Long subscribeId,String subscribeDate,String item,Long custId,String custName,String csOpenId,String csName,String csStore);

    public String cancelNoticePublicCS(Long subscribeId,String subscribeDate,String item,Long custId,String custName,String csOpenId,String csName,String reason);

}
